<?php

include_once('DB.php');
include_once('utemezheto.php');

$t = new Template();
$link = $t->get_link('teacher_student_admin','teacher_student_admin');
$delete_link = $t->get_link('teacher_student_admin','delete');
if (isset($_REQUEST['kurzus']))
{
  $link .= '&amp;kurzus='.$_REQUEST['kurzus'];
  $delete_link .= '&amp;kurzus='.$_REQUEST['kurzus'];
}

$rows = query_futtatas("SELECT * FROM tanar WHERE felhasznalo_id = ".$_SESSION["felhasznalo"]["id"]);
$bejelentkezett_oktato_id = $rows[0]["id"];

// törlés kezelés
if(isset($_REQUEST['action']) && $_REQUEST['action'] == "delete")
{
  // csak az adott id-jú hallgatót töröljük
  if(isset($_GET["hallgato_delete_id"]))
  {
    query_futtatas("
      DELETE 
      FROM hallgato_kurzus 
      WHERE hallgato_id =".$_GET['hallgato_delete_id']." 
      AND kurzus_id = ".$_REQUEST['kurzus']
      ); 
      //amikor egy hallgatót törlünk, akkor töröljük a hallgatóütemezését is
      query_futtatas("
      DELETE 
      FROM hallgato_vizsga 
      WHERE hallgato_id =".$_GET['hallgato_delete_id']." 
      AND kurzus_id = ".$_REQUEST['kurzus']
      );
  }
  // az összes hallgatót töröljük
  else
  {
  //törlöjük a hallgato_vizsgából azokat a hallgato_id-kat, amiket leszelectálunk a 
    
    query_futtatas("
      DELETE 
      FROM hallgato_vizsga 
      WHERE 
        hallgato_id IN 
        (
          SELECT hallgato_id 
          FROM hallgato_kurzus 
          WHERE kurzus_id = ".$_REQUEST['kurzus']."
        )
        AND kurzus_id = ".$_REQUEST['kurzus']
      );
    query_futtatas("
      DELETE 
      FROM hallgato_kurzus 
      WHERE kurzus_id = ".$_REQUEST['kurzus']
      );
      ////amikor az összes hallgatót törljük, akkor töröljük a hallgatók ütemezését is
  } 
  //törlendő hallgatók lekérdezése
  $rows = query_futtatas("
    SELECT 
      id 
    FROM
      hallgato 
    WHERE 
      id NOT IN (SELECT hallgato_id FROM hallgato_kurzus)
    ");
  foreach ($rows as $row)
  {
    $hallgato_id = $row['id'];
    
    //töröljük az oktato_kurzus táblából, az a hallgatot, aki nincs a hallgato_kurzusban
    query_futtatas("DELETE FROM oktato_hallgato WHERE hallgato_id =".$hallgato_id);
    //a felhasznalo áblából töröljük a hallgatót
    query_futtatas("
      DELETE
      FROM 
        felhasznalo 
      WHERE id =
        (SELECT felhasznalo_id FROM hallgato WHERE id=".$hallgato_id
    );
    //hallgató törlése
    query_futtatas("DELETE FROM hallgato WHERE id=".$hallgato_id);
  }
  
  header('Location:'.str_replace("&amp;", "&", $link));
}

$kurzusok = query_futtatas("
  SELECT kurzus.* 
  FROM  oktato_kurzus, kurzus, tanar
  WHERE kurzus.id = oktato_kurzus.kurzus_id
  AND oktato_kurzus.oktato_id = tanar.id
  AND tanar.felhasznalo_id =".$_SESSION['felhasznalo']['id']); 
  

  
if (isset($_REQUEST['kurzus']))
{
  // a kiválaszott kurzust a bejelentkezett oktato szervezheti-e
  $rows = query_futtatas("
    SELECT * 
    FROM 
      tanar,
      oktato_kurzus
    WHERE 
      tanar.id = oktato_kurzus.oktato_id 
      AND tanar.felhasznalo_id = ".$_SESSION['felhasznalo']['id']."
      AND oktato_kurzus.oktato_szervez != 1
      AND oktato_kurzus.kurzus_id =".$_REQUEST['kurzus']
    );
    $szervezheti = count($rows) > 0;
  //azon oktatók lekérdezése,akik oktatnak ütemezhetőséghez kell
  $tanar = query_futtatas("
    SELECT * FROM tanar, oktato_kurzus 
    WHERE oktato_kurzus.oktato_id = tanar.id
    AND oktato_kurzus.kurzus_id = ".$_REQUEST['kurzus']."
    AND oktato_szervez != 2
  ");
  
  //jelszó módosításkor
  if (isset($_POST['submit']))
  {
    $hallgatok = query_futtatas("
      SELECT *, hallgato.id AS hallgato_id 
      FROM hallgato, felhasznalo 
      WHERE hallgato.felhasznalo_id = felhasznalo.id
    ");
      
    foreach($hallgatok as $hallgato)
    {
      if
      (
        isset($_POST["titkos_jelszo".$hallgato["hallgato_id"]]) && 
        $_POST["titkos_jelszo".$hallgato["hallgato_id"]] != ""
      )
      {
        query_futtatas("
          UPDATE felhasznalo SET 
            jelszo = '".$_POST["titkos_jelszo".$hallgato["hallgato_id"]]."',
            titkos = 0
          WHERE id = ".$hallgato["felhasznalo_id"]
        );
      }
    }
  }

  //hallgato hozzáadása
  if (isset($_POST['uj_hozzadas']) 
      && !empty($_POST['jelszo'])
      && !empty($_POST['eha']) && !empty($_POST['nev']) ) 
  {
    $rows = query_futtatas("
      SELECT * 
      FROM hallgato
      WHERE etr_id = '".$_POST['eha']."' 
    ");
    if(count($rows) == 0)
    {
      $levagott_eha = strpos($_POST['eha'],'.SZE')
        ? substr($_POST['eha'],0,strpos($_POST['eha'],'.SZE'))
        : $_POST['eha'];
      $id = query_futtatas("INSERT INTO felhasznalo VALUES(
        '',
        '".$levagott_eha."',
        '".$_POST['jelszo']."',
        'hallgato',
        0,
        NULL
        )"
      );
     
      $hallgato_id = query_futtatas("INSERT INTO hallgato VALUES(
        '',
        '".$_POST['eha']."',
        '".$_POST['nev']."',
        '".$id."'
        )"
      );
      
      foreach ($tanar as $oktato)
      {
        if (isset($_POST['uj_oktato']) && in_array($oktato['id'],$_POST['uj_oktato'])) 
        {
          query_futtatas("INSERT INTO oktato_hallgato VALUES(
            '',
            ".$oktato['id'].",
            ".$hallgato_id."
          )");
        }
      }
      
      query_futtatas("INSERT INTO hallgato_kurzus VALUES(
            '',
            ".$hallgato_id.",
            ".$_REQUEST['kurzus']."
          )");
    }
  }

  //hallgatók lekérdezése
  $hallgato = query_futtatas("
    SELECT 
      *, 
      hallgato.id AS hallgato_id
    FROM 
      hallgato, 
      felhasznalo,
      hallgato_kurzus
    WHERE 
      hallgato.felhasznalo_id = felhasznalo.id AND
      hallgato.id = hallgato_id AND
      hallgato_kurzus.kurzus_id =".$_REQUEST['kurzus']."
    ORDER BY nev ASC
  ");
  
  foreach ($kurzusok as $kurzus)
  {
    if ($_REQUEST['kurzus'] == $kurzus['id'])
    {
      $kurzus_nev = $kurzus['nev'];
      break;
    }
  }
  
  if(isset($_POST['utemezheto']))
  {
    utemezheto_checkboxok_feldolgozasa($tanar, $hallgato, $szervezheti, $bejelentkezett_oktato_id);
  }
}

function fejresz_generalas($tanarok, $link, $szervezheti)
{
  $ossz = count($tanarok);
  $html ='<tr>
      <th id="h_eha" rowspan="2">EHA kód</th>
      <th id="h_nev" rowspan="2">Név</th>';
      if ($szervezheti)
      {
        $html .= '<th id="h_jelszo" rowspan="2">Jelszó</th>';
      }
      $html .= '
        <th id="h_utemezheto" colspan="'.$ossz.'">
          <input class="button" type="submit" name="utemezheto" value="Ütemezhető" />
        </th>';
      if ($szervezheti)
      {
        $html .= '<th id="h_hallgato_torles" rowspan="2"><a href="'.$link.'">Összes hallgató törlése</a></th>';
      }
      $html .='</tr><tr>';
    foreach ($tanarok as $tanar)
    {
      $html .='<th id="h_utemezheto_tanar_'.$tanar['id'].'">'.$tanar['nev'].'</th>';
    }
  $html .= '</tr>';
  return $html;
}

function hallgatok_sor_generalas($hallgatok, $tanarok, $link, $szervezheti, $bejelentkezett_oktato_id)
{ 
    $html = '';
    foreach ($hallgatok as $hallgato)
    {
      $sima_jelszo = $hallgato['jelszo'];
      $result = ($hallgato['titkos'] == 0 ) ? $sima_jelszo."&nbsp;" : '<div class="piros">TITKOS</div>';
     
      
      $html .='<tr>';
      $html .='<td headers="h_eha">'.$hallgato['etr_id'].'</td>';
      $html .='<td headers="h_nev">'.$hallgato['nev'].'</td>';
      //ha szervezheti, akkor beszúrjuk ezt az oszlopot
      if ($szervezheti)
      {
        $html .='<td headers="h_jelszo">
                <div>'.$result.'</div>
                <div><input type="password" name="titkos_jelszo'.$hallgato['hallgato_id'].'" /></div>
                <div><input class="button" type="submit" name="submit" value="Módosítás" /></div>
              </td>';
      }
      foreach ($tanarok as $tanar)
      {
        $rows = query_futtatas("
          SELECT * FROM oktato_hallgato 
          WHERE oktato_id=".$tanar['id']."
          AND hallgato_id=".$hallgato['hallgato_id']
          );
          
        if ($szervezheti || $tanar["id"] == $bejelentkezett_oktato_id)
        {
          $checked = (count($rows) >0) ? 'checked="checked"' : '';
          $html .='<td headers="h_utemezheto_tanar_'.$tanar['id'].'"><input type="checkbox" name="tanarok'.$hallgato['hallgato_id'].'[]" value="'.$tanar['id'].'" '.$checked.' /></td>';
        }
        else
        {
          $src = (count($rows) >0) ? 'checked.jpg' : 'checkbox.gif';
          $html .='<td headers="src"><img src="'.$src.'" alt="kep" /></td>';
        }
      }
      if ($szervezheti)
      {
        $html .='<td headers="h_hallgato_torles"><a href="'.$link.'&amp;hallgato_delete_id='.$hallgato['hallgato_id'].'">Hallgató törlése</a></td>';
      }
      $html .='</tr>';
      
    }
  return $html;
}

function uj_hallgato_generalas ($tanarok, $szervezheti)
{
  $html ='';
  if ($szervezheti)
  {
    $html = '<tr>';
    $html .= '<td headers="h_eha"><input name="eha" type="text" value="" /></td>
              <td headers="h_nev"><input name="nev" type="text" value="" /></td>
              <td headers="h_jelszo"><input name="jelszo" type="text" value="" /></td>';
      foreach ($tanarok as $tanar)
      {                     
        $html .='<td headers="h_utemezheto_tanar_'.$tanar['id'].'"><input name="uj_oktato[]" type="checkbox" value="'.$tanar['id'].'" /></td>';
      }
    $html .=' <td headers="h_hallgato_torles"><input class="button" type="submit" name="uj_hozzadas" value="Hallgató hozzáadása" /></td>';
    $html .='</tr>';
  }
  return $html;
}

function kurzus_select_generalas($kurzus) 
{
  $html = '<div><select class="select" name="kurzus">';
  foreach ($kurzus as $ora)
  {
    $select = '';
    if(isset($_REQUEST["kurzus"]) && $_REQUEST["kurzus"] == $ora['id'])
    {
      $select = ' selected="selected"';
    }
    $html .= '<option value="'.$ora['id'].'"'.$select.'>'.$ora['nev'].'</option>';
  }
  $html .= '</select></div>';
  $html .= '<div><input class="button" type="submit" name="select_submit" value="Kiválaszt" /></div>';
  return $html;
}

?>
 
    <?php include('header.php');?>
    <form action="<?php echo $link;?>" method="post">
      <?php echo kurzus_select_generalas($kurzusok); ?>
     
      <?php if (isset($_REQUEST['kurzus'])) { ?>
        <table class="keret">
          <caption><?php echo $kurzus_nev; ?></caption>
            
            <thead>
              <?php echo fejresz_generalas($tanar, $delete_link, $szervezheti); ?>
            </thead>
            <tbody>
              <?php echo hallgatok_sor_generalas($hallgato, $tanar, $delete_link, $szervezheti, $bejelentkezett_oktato_id); ?>
              
              <?php echo uj_hallgato_generalas($tanar, $szervezheti); ?>
              
            </tbody>
        </table>
      <?php } ?>
      
    </form>
  </body>
</html>